import axios from 'axios'
import {getToken, removeToken} from "./localStorage";
// 封装用户登录接口
const request = axios.create({
    baseURL:'http://localhost:3000',
    timeout:5500,
})
// 请求拦截器  config是axios实例下面的配置对象
request.interceptors.request.use(config => {
    // 这里可以进行请求加密等操作。如添加token,cookie，修改数据传输格式等。
    if (getToken()) {
        config.headers.Authorization = getToken()
    }
    // console.log(store.state.user.token)
    return config;
})

// 响应拦截器
request.interceptors.response.use(
    response => {
        // console.log(response.data.status)
        // 对响应数据做点什么
        if (response.data.status === 401) {

            removeToken();
            localStorage.removeItem('userId'); // 清除用户 ID ，退出登录提示
        }
        return response;
    },
    error => {
        // 对响应错误做点什么
        if (error.response && error.response.status) {
            switch (error.response.status) {
                case 401:

                    break;
                case 403:
                    // 处理403错误
                    alert('你没有权限访问这个资源。');
                    break;
                // 其他错误处理
                default:
                    alert('请求失败，请稍后再试。');
            }
        }
        return Promise.reject(error);
    }
);

export default request
